Achieving Transaction Scaleup on Unix
نویسندگان
چکیده
Constructing scalable high-performance applications on commodity hardware running the Unix operating system is a problem that must be addressed in several application domains. We relate our experience in achieving transaction scaleup on Unix for a high-performance OLTP system intended for Service Control Points (SCPs) in a telephone switching network. We view the requirements of SCPs as prototypical requirements of a class of applications that cannot be properly handled by today's commercial DBMSs. In addition to high throughput and low response time, SCPs require transaction scaleup on standard hardware and software architectures. Using a main-memory DBMS to obtain high throughput, we focus on the problem of achieving transaction scaleup on a cluster of workstations running Unix while constrained by the low response time requirement of the SCP application. The use of a main-memory DBMS causes the throughput and response time to be much more sensitive to the cost of messages and more susceptible to the formation of convoys than they would have been with a disk-based DBMS. We relate the various experiments and discoveries of what goes on underneath the covers in Unix that led to our choice of architecture, inter-process communication mechanisms and mode of running the system to achieve transaction scaleup under the constraint of low response time. This experience should provide valuable information to anyone trying to build a scalable high-performance application on Unix.
منابع مشابه
Parallel Database Systems.PDF
It might be useful to take the distinction of the two concepts. In the database literature, "distributed" usually implies "locally autonomous", i.e., each participating system is a complete database management system in itself, with access control, catalogs, query processing, etc. In other words, each node in a distributed database management system can function entirely on its own, whether or ...
متن کاملThe RelaX Architecture
RelaX (Reliable distributed applications support on UNIX) is a portable and extensible system software layer on top of UNIX-like operating system kernels supporting reliable distributed applications by a generalized transaction mechanism. The distributed transaction mechanism relieves each programmer of dealing explicitly with error recovery and concurrency control in every distributed applicat...
متن کاملImplementing Atomic Objects with the RelaX Transaction Facility
This paper presents an object-oriented model for distributed transaction processing and discusses the issues which had to be explored in the implementation of this model. The functionality of this transaction model meets the requirements of a range of concurrent, distributed applications. We show that transaction functionality can be implemented in a language independent manner allowing the mod...
متن کاملLIBTP: Portable, Modular Transactions for UNIX1
Transactions provide a useful programming paradigm for maintaining logical consistency, arbitrating concurrent access, and managing recovery. In traditional UNIX systems, the only easy way of using transactions is to purchase a database system. Such systems are often slow, costly, and may not provide the exact functionality desired. This paper presents the design, implementation, and performanc...
متن کاملImproving Data Consistency for Mobile File Access Using Isolation-Only Transactions
Disconnected operation based on optimistic replication has been demonstrated as an effective technique enabling mobile computers to access shared data in distributed file systems. To guard against inconsistencies resulted from partitioned data sharing, past research has focused on detecting and resolving write/write conflicts. However, experience shows that undetected read/write conflicts pose ...
متن کامل